Veille Technologique

Mise en place


Pour faire cette veille technologique j'ai utilisé différents outils :

-Pearltrees
-Différents site web :
Le site officiel de Laravel
Laravel-news
Laracasts
Article Symfony vs Laravel : La bataille des frameworks PHP



J'ai travaillé deux thèmes de veille technologique :

-Les frameworks PHP (Laravel & Symfony).

Les frameworks PHP (Laravel / Symfony)



Qu'est-ce que Laravel ?

Laravel est un Framework PHP qui respecte un principe de modèle-vue-contrôleur (MVC),
c’est-à-dire que le modèle contient les données à afficher, la vue montre ces données et le contrôleur permet de contrôler les actions effectuées par l’utilisateur.

On peut par exemple associer le modèle à une base de données, la vue à une page HTML et CSS et le contrôleur au PHP qui est présent dans ces pages. Mais le modèle, la vue et le contrôleur sont des scripts différents.

Laravel a commencé à être écrit à la fin de l’année 2010 par Taylor Otwell, puis a été publié la première fois pendant l’été 2011. Il est basé sur plusieurs Framework donc Symfony (qui représente environ 30% du code). Laravel utilise ce qui se fait de mieux sur chaque Framework et les regroupe en un. Pour comprendre l’histoire de Laravel, le documentaire Laravel Origins publié en 2021 est très intéressant. Laravel continue d’être mis à jour et fait encore parti à ce jour de l’un des meilleurs Framework. (Laravel 10 est prévu pour février 2023).













Les fonctionnalités et avantages de Laravel :

-Documentation très riche

-Système de routage perfectionné (RESTFul et ressources)

-Créateur de requêtes SQL et un ORM performants

-Moteur de Template efficace

-Système d’authentification pour les connexions

-Système de validation

-Système de pagination

-Système de migration pour les bases de données

-Système d’envoi d’emails

-Système de cache

-Système d’événements

-Système d’autorisation

-Gestion des sessions…

Les inconvénients de Laravel :

-Ne prends pas en charge la fonction de paiement

-Certaines mises à niveau peuvent être problématiques (problème récurrent au Framework PHP)

-Les rechargements de pleine page peuvent être un peu lourds dans les applications mobiles par rapport aux sites Web.













Créer un projet Laravel

Pour créer un projet Laravel, il faut utiliser le gestionnaire de paquets Composer
qui permet d’installer des bibliothèques ou le projet en lui-même.

Laravel contient plusieurs fonctionnalités comme le routage de requêtes (avec les méthodes POST ou GET par exemple), le mapping d’objet-relationnel (ORM) qui permet de faire un lien entre une table et un modèle, l’authentification,
un moteur de Template (Blade), la migration de base de données, la gestion des exceptions (pour les erreurs), les tests unitaires (PHPunit), etc.

Laravel est un Framework très simple d’utilisation et est devenu l’un des projets PHP les mieux notés sur GitHub.













Alternative possible : Symfony

Parmis les alternatives possibles à Laravel et aux différents framework PHP, il y a Symfony.
Symfony comporte de nombreux avantages :

-Flexibilité

-Support commercial

-Fiabilité

-Une maintenance et une portée d'essai inégalées

-Mises à jour régulières

-Grand soutien de la communauté

-Documentation d'aide prête à l'emploi

Comme aucun framework PHP n'est parfait et que chacun d'entre eux présente au moins un ou deux défauts, Symfony n'est pas différent à cet égard :

-Problèmes de performance

-Délai de mise sur le marché plus long

-Courbe d'apprentissage raide









Comparaison : Laravel vs Symfony

Utilisation de PHP :

Les deux frameworks utilisent PHP comme langage de programmation de base, mais il y a de sérieuses différences par rapport à la version PHP qu'ils utilisent.
Ces différences sont tout aussi importantes pour un développeur Laravel et Symfony. Alors que Symfony s'appuie sur le code universel de PHP, Laravel utilise des traits et des modules de PHP supportant une syntaxe plus petite et plus compréhensible. Cela donne à Laravel un léger avantage sur Symfony en termes de simplicité du code.

Accessibilité de la base de données :

En ce qui concerne l'approche de la base de données, les deux cadres présentent de sérieuses différences. Alors que Symfony utilise Doctrine, Laravel utilise Eloquent.
Cette différence est particulièrement importante pour la migration et l'accès aux données.
Expliquons les différences ci-dessous.

Migration :

Alors qu'avec Doctrine de Symfony vous pouvez migrer automatiquement, Eloquent de Laravel nécessite une migration manuelle.
Mais avec ce dernier, le développeur n'a pas besoin de définir le champ.

Accès aux données :

Juste parce que Symfony utilise Doctrine, les référentiels doivent être créés à chaque fois pour accéder aux données.
Mais avec l'Eloquent de Laravel, il suffit d'utiliser les fonctions SQL et cela ne nécessite qu'une connaissance de base du SQL.

Codage :

Symfony est livré avec beaucoup de code réutilisable et permet une modularité optimale. Cela donne à Symfony un léger avantage sur Laravel.
Sur un autre plan, les deux frameworks sont construits avec une architecture MVC, ce qui est utile pour construire une application web.
Les deux frameworks utilisent de bons moteurs de template, bien que le moteur de template utilisé par Laravel fonctionne beaucoup mieux pour
réutiliser le code que celui utilisé pour Symfony.

Vitesse de chargement :

Il existe de sérieuses différences entre ces deux cadres en termes de vitesse de chargement des sites Web que toute société de développement web devrait prendre en compte. Bien que tous deux soient dotés de la possibilité de mettre en cache les vues, la différence dans la vitesse de chargement est conséquente. Alors que Laravel prend environ 60 millisecondes pour charger une page, la même page prend environ 250 millisecondes avec Symfony. Voila la fin de ma veille technologique sur les frameworks PHP notamment Laravel et Symfony.